LGF_SearchMinMax指令库及其使用

LGF_SearchMinMax库文件夹下包含四个库指令: LGF_SearchMinMax _Int、 LGF_SearchMinMax _Dint、LGF_SearchMinMax _Real和LGF_SearchMinMax _Byte。

注意:

此指令库使用STEP 7 MicroWIN SMART V2.6版本编写,请在STEP 7 MicroWIN SMART V2.6或更高版本软件中使用该库指令。

此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

在项目中使用库

LGF_SearchMinMax指令库

创建完成的指令库文件扩展名为".smartlib"。库文件可以作为单独的文件拷贝、移动,将库文件移动至系统库文件夹下即可使用库指令(STEP 7-Micro/WIN SMART库文件夹一般存储路径为"C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib")。如果操作完成打开软件后未找到库指令,在库菜单栏下单击右键选择"刷新库"即可。

成功添加指令库后,用户可以在STEP7 Micro/win的指令树中找到‘LGF_SearchMinMax(v1.1)'

图1.LGF_SearchMinMax库

LGF_SearchMinMaxt简介

该库可实现在任意连续地址构成的数组(数组长度最大100)中搜索最小和最大值,并输出极值的值和索引号。如果在数组中有不止一个的最小或最大值,则输出第一个最小或最大值的索引号。

使用库指令 LGF_SearchMinMax_Int/Dint/Real/Byte 需注意:

由于SMART PLC中没有数组数据类型,因此需使用连续的V区地址来存储数据,并确保V区中的数据类型完全一致,否则结果可能不正确;

该指令整数数据的尺寸需要占用一个字;双整数、实数数据的尺寸需要占用一个双字;无符号数据需要占用一个字节;否则结果可能不正确;

连续地址最多包含100个数据,超过的部分程序不予执行。

程序块:

图 2. LGF_SearchMinMax_Int

图 3. LGF_SearchMinMax_Dint

图 4. LGF_SearchMinMax_Real

图 4. LGF_SearchMinMax_Byte

表 1. LGF_SearchMinMaxt参数
参数 声明 数据类型 注释
EN IN BOOL 程序块使能
dataPtr IN DWORD 数组的起始地址指针
length IN WORD 数组长度,上限100
minValue OUT INT/DINT/REAL/BYTE 数组中找到的最小值
minValueIndex OUT WORD 最小值在数组中的索引
maxValue OUT INT/DINT/REAL/BYTE 数组中找到的最大值
maxValueIndex OUT WORD 最大值在数组中的索引